// pages/selection/selection.js
import {
  areaList
} from '~/miniprogram_npm/@vant/area-data/index';
import baseteam from '~/utils/supplier'
import Wxml2Canvas from 'wxml2canvas';

Page({

  /**
   * 页面的初始数据
   */
  data: {
    shew1: false,
    shew2: false,
    shew3: false,
    userName: '',
    userPost:'',
    userPhone:'',
    userWechatID:'',
 user:[],
    width:0,
    height:0,
    state:true,
  },
  openq() {
    this.setData({
      shew2: true,
      synthesis: 0

    })
  },

  async obtainingBusinessCards() {
    let setdata = {
      userId: 1
    }
    let reqdata = await baseteam.queryBusinessCard(setdata)
    console.log(reqdata.data.item.name)
    if (reqdata.code == 200) {
      this.setData({
        userName: reqdata.data.item.name,
        userPost:reqdata.data.item.post,
        userPhone:reqdata.data.item.phone,
        userWechatID:reqdata.data.item.wechatId,
        user:reqdata.data.item
      })
    } else {
      wx.showToast({
        title: '查询失败',
        icon: 'none',
        duration: 2000
      })
      setTimeout(() => {
        this.naveback()
      }, 300);
    }
  },

  copydata() {
     wx.setClipboardData({
        data: this.data.userPhone,
        success(res) {
            wx.showToast({
                title: '拷贝成功',
                icon: 'success',
                duration: 2000
            })
        }
    })
},
drawMyCanvas() {
  wx.showLoading()
  const that = this
  const query = wx.createSelectorQuery().in(this);
  console.log(query)
  query.select('#my-canvas').fields({ // 选择需要生成canvas的范围
      size: true,
      scrollOffset: true
  }, data => {
      console.log(data)
      let width = data.width;
      let height = data.height;
      that.setData({
          width,
          height
      })
      setTimeout(() => {
          that.startDraw()
      }, 1500);
  }).exec()
},
startDraw() {
  let that = this
  console.log(that)
  let pixelRatio = (0, wx.getSystemInfoSync)().pixelRatio;
  console.log(pixelRatio)
  // 创建wxml2canvas对象
  let drawMyImage = new Wxml2Canvas({
      element: 'myCanvas', // canvas的id,
      obj: that, // 传入当前组件的this
      width: that.data.width * 3,
      height: that.data.height * 3,
      background: '#ff0000', // 生成图片的背景色
      progress(percent) { // 进度
          console.log(percent);
      },
      finish(url) { // 生成的图片
          console.log(url)
          wx.hideLoading()
          that.setData({
              imgUrl:url
          })
          that.savePoster(url)
      },
      error(res) { // 失败原因
          console.log(res);
          wx.hideLoading()
      }
  }, this);
  let data = {
      // 获取wxml数据
      list: [{
          type: 'wxml',
          class: '.my_canvas .my_draw_canvas',  // my_canvas要绘制的wxml元素根类名， my_draw_canvas单个元素的类名（所有要绘制的单个元素都要添加该类名）
          limit: '.my_canvas', // 要绘制的wxml元素根类名
          x: 0,
          y: 0
      }]
  }
  // 绘制canvas
  drawMyImage.draw(data, this);
},
savePoster() {
  const that = this
  wx.saveImageToPhotosAlbum({
      filePath: that.data.imgUrl,
      success: function () {
          console.log("保存成功保存成功保存成功保存成功")
          wx.showToast({
              title: '保存成功',
              icon: 'none',
              duration: 1500
          });
      },
      fail(err) {
          if (err.errMsg === "saveImageToPhotosAlbum:fail:auth denied" || err.errMsg === "saveImageToPhotosAlbum:fail auth deny" || err.errMsg === "saveImageToPhotosAlbum:fail authorize no response") {
              wx.showModal({
                  title: '提示',
                  content: '需要您授权保存相册',
                  showCancel: false,
                  success: modalSuccess => {
                      wx.openSetting({
                          success(settingdata) {
                              if (settingdata.authSetting['scope.writePhotosAlbum']) {
                                  wx.saveImageToPhotosAlbum({
                                      filePath: that.data.imgUrl,
                                      success: function () {
                                          wx.showToast({
                                              title: '保存成功',
                                              icon: 'success',
                                              duration: 2000
                                          })
                                      },
                                  })
                              } else {
                                  wx.showToast({
                                      title: '授权失败，请稍后重新获取',
                                      icon: 'none',
                                      duration: 1500
                                  });
                              }
                          }
                      })
                  }
              })
          }
      }
  })
},

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.openq()
    this.obtainingBusinessCards()
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})